/**
 * 给定步骤，保证合法，问最后黑白棋子的数量
 */
#include <bits/stdc++.h>
using namespace std;

#include <bits/extc++.h>

using Real = long double;
using llt = long long;
using vi = vector<int>;

int const DR[] = {-1, -1, -1, 0, 1, 1, 1, 0};
int const DC[] = {-1, 0, 1, 1, 1, 0, -1, -1};

vector<vi> Board; 
int Black = 0, White = 0;
int Cur;

vector<pair<int, int>> check(int r, int c, int dr, int dc){
    int const opp = Cur ^ 3;
    int x = r + dr, y = c + dc;
    vector<pair<int, int>> ans;
    while(opp == Board[x][y]){
        ans.emplace_back(x, y);
        x += dr; y += dc;
    }
    if(Board[x][y] == Cur) return ans;
    return {};
}

vector<pair<int, int>> check(int r, int c){
    vector<pair<int, int>> ans;
    for(int i=0;i<8;++i){
        auto tmp = check(r, c, DR[i], DC[i]);
        ans.insert(ans.end(), tmp.begin(), tmp.end());
    }
    return ans;
}

void proc(int r, int c){
    auto vec = check(r, c);
    if(vec.empty()){
        Cur ^= 3;
        vec = check(r, c);
        assert(not vec.empty());
    }
    for(const auto & p : vec){
        Board[p.first][p.second] ^= 3;
    }
    Board[r][c] = Cur;
    Cur ^= 3;
    return;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int nofakse = 1;
    // cin >> nofakse;
    while(nofakse--){
        Board.assign(10, vi(10, 0));
        Board[4][4] = Board[5][5] = 2;
        Board[5][4] = Board[4][5] = Cur = 1;
        int x, y;
        while(cin >> x >> y){
            proc(x, y);

        }
        for(int i=1;i<=8;++i)for(int j=1;j<=8;++j){
            if(Board[i][j] == 1) ++Black;
            else if(Board[i][j] == 2) ++White;
        }
        cout << Black << ":" << White << endl;
    }
    return 0;
}